// Copyright © SixtyFPS GmbH <info@slint-ui.com>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-commercial

/*
 The design from this file is inspired from the design in
 https://github.com/peter-ha/qskinny/tree/iot-dashboard/examples/iotdashboard
 Original license:
/****************************************************************************
**
** Copyright 2021 Edelhirsch Software GmbH. All rights reserved.
**
** Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
**
**   * Redistributions of source code must retain the above copyright
**     notice, this list of conditions and the following disclaimer.
**   * Redistributions in binary form must reproduce the above copyright
**     notice, this list of conditions and the following disclaimer in
**     the documentation and/or other materials provided with the
**     distribution.
**   * Neither the name of the copyright holder nor the names of its
**     contributors may be used to endorse or promote products derived
**     from this software without specific prior written permission.
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
**
****************************************************************************/
*/

import { MenuBar, TopBar, Usage, IndoorTemperature, Humidity, MyDevices,
    UsageDiagram, LightIntensity, Clock
} from "iot-dashboard.slint";


component MainContent inherits VerticalLayout {
    spacing: 24px;
    TopBar {
        Clock {
        }
    }

    GridLayout {
        spacing: 6px;
        padding-left: 19px;
        padding-top: 0px;
        padding-right: 17px;
        padding-bottom: 24px;

        Usage {
            rowspan: 2;
        }
        IndoorTemperature {
            row: 0; col: 1;
        }
        Humidity {
            row: 1; col: 1;
        }
        MyDevices {
            row: 0; col: 2;
            rowspan: 2;
        }
        UsageDiagram {
            row: 2; col: 0;
            colspan: 2;
        }
        LightIntensity {
            row: 2; col: 2;
        }
    }
}

component MainWindow inherits Window {
    title: "IOT dashboard";
    HorizontalLayout {
        padding: 0; spacing: 0;
        MenuBar {}
        MainContent {}
    }
}
